<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<!-- 生产环境版本，优化了尺寸和速度 -->
<!-- <script src="https://cdn.jsdelivr.net/npm/vue"></script> -->

<!-- 本地版本，引入vue -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

<body>
    <div id="app">
        <ol>
            <!-- 创建一个 todo-item 组件的实例 -->
            <todo-item></todo-item>
        </ol>
    </div>


    <div id="app-7">
        <ol>
            <!--
          现在我们为每个 todo-item 提供 todo 对象
          todo 对象是变量，即其内容可以是动态的。
          我们也需要为每个组件提供一个“key”，稍后再
          作详细解释。
        -->
            <todo-item-new v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></todo-item-new>
        </ol>
    </div>

    <script>

        // 定义名为 todo-item 的新组件
        Vue.component('todo-item', {
            template: '<li>这是个待办项</li>'
        })

        // 创建Vue实例
        var app = new Vue({
            el: '#app',

        })


        // =====================父作用域将值传递到子组件=========================
        Vue.component('todo-item-new', {
                props: ['todo'],
                template: '<li>{{ todo.text }}</li>'
            })

            var app7 = new Vue({
                el: '#app-7',
                data: {
                    groceryList: [
                        { id: 0, text: '蔬菜' },
                        { id: 1, text: '奶酪' },
                        { id: 2, text: '随便其它什么人吃的东西' }
                    ]
                }
            })

    </script>

</body>

</html>